/*
 * Copyright 2012 Finbudget.com
 * 
 * Licensed under the Apache License, Version 2.0 (the "License"); you may not
 * use this file except in compliance with the License. You may obtain a copy of
 * the License at
 * 
 * http://www.apache.org/licenses/LICENSE-2.0
 * 
 * Unless required by applicable law or agreed to in writing, software
 * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
 * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
 * License for the specific language governing permissions and limitations under
 * the License.
 */
package finbudget.client.lists;

import com.google.gwt.event.shared.EventHandler;
import com.google.gwt.event.shared.GwtEvent;

import finbudget.client.ui.table.Record;

public class NewElementCreatedEvent extends GwtEvent<NewElementCreatedEvent.NewElementCreatedHandler> {
	public interface NewElementCreatedHandler extends EventHandler {
		public void onNewElementCreated(NewElementCreatedEvent event);
	}
	public static final Type<NewElementCreatedHandler> TYPE = new Type<NewElementCreatedHandler>(); 

	private final Record record;

	public NewElementCreatedEvent(Record record) {
		this.record = record;
	}

	@Override
	public Type<NewElementCreatedHandler> getAssociatedType() {
		return TYPE;
	}

	@Override
	protected void dispatch(NewElementCreatedHandler handler) {
		if (handler != null) {
			handler.onNewElementCreated(this);
		}
	}

	public Record getRecord() {
		return record;
	}
}
